/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

export function toPomString(pom) {
  const groupId = pom.groupId;
  const artifactId = pom.artifactId;
  const version = pom.version;
  const exclusions = pom.exclusions || [];
  let exclusionString = '';
  let pomString = '';
  if (exclusions.length > 0) {
    exclusions.forEach((item) => {
      exclusionString +=
        '        <exclusion>\n' +
        '          <groupId>' +
        item.groupId +
        '</groupId>\n' +
        '          <artifactId>' +
        item.artifactId +
        '</artifactId>\n' +
        '        </exclusion>\n';
    });
    pomString =
      '  <dependency>\n' +
      '     <groupId>' +
      groupId +
      '</groupId>\n' +
      '     <artifactId>' +
      artifactId +
      '</artifactId>\n' +
      '     <version>' +
      version +
      '</version>\n' +
      '     <exclusions>\n' +
      exclusionString +
      '     </exclusions>\n' +
      '   </dependency>';
  } else {
    pomString =
      '  <dependency>\n' +
      '    <groupId>' +
      groupId +
      '</groupId>\n' +
      '    <artifactId>' +
      artifactId +
      '</artifactId>\n' +
      '    <version>' +
      version +
      '</version>\n' +
      '  </dependency>';
  }
  return pomString;
}
